from django.db import models

from prj002.models.models import CreatTimeModel
from prj002.models.info import Info
from myuser.models import MyUser


class Disease(CreatTimeModel):
    info = models.OneToOneField(Info, on_delete=models.CASCADE, related_name='disease')

    owner = models.ForeignKey(MyUser, on_delete=models.CASCADE, related_name='prj002_disease')

    CHUN_CHOICES = (
        ('0', '无毛'),
        ('1', '散在几根'),
        ('2', '外侧1/4'),
        ('3', '外侧1/2'),
        ('4', '全部上唇'),
    )
    chun = models.CharField(choices=CHUN_CHOICES, max_length=2, blank=True, null=True, verbose_name='上唇', help_text='上唇')

    XIAE_CHOICES = (
        ('0', '无毛'),
        ('1', '散在几根'),
        ('2', '散在，较多'),
        ('3', '覆盖下额，较多'),
        ('4', '覆盖下额，密'),
    )
    xiae = models.CharField(choices=XIAE_CHOICES, max_length=2, blank=True, null=True, verbose_name='下额', help_text='下额')

    XIONGBU_CHOICES = (
        ('0', '无毛'),
        ('1', '乳晕周围'),
        ('2', '乳晕，胸中线'),
        ('3', '胸中线与乳晕相连'),
        ('4', '覆盖前胸'),
    )
    xiongbu = models.CharField(choices=XIONGBU_CHOICES, max_length=2, blank=True, null=True, verbose_name='胸部', help_text='胸部')

    SHANGFU_CHOICES = (
        ('0', '无毛'),
        ('1', '中线几根'),
        ('2', '中线，较多'),
        ('3', '覆盖上腹1/2'),
        ('4', '覆盖上腹全部'),
    )
    shangfu = models.CharField(choices=SHANGFU_CHOICES, max_length=2, blank=True, null=True, verbose_name='上腹', help_text='上腹')

    XIAFU_CHOICES = (
        ('0', '无毛'),
        ('1', '中线几根'),
        ('2', '中线，细带状'),
        ('3', '中线，粗带状'),
        ('4', '与阴毛相连，菱形'),
    )
    xiafu = models.CharField(choices=XIAFU_CHOICES, max_length=2, blank=True, null=True, verbose_name='下腹', help_text='下腹')

    SHANGTUN_CHOICES = (
        ('0', '无毛'),
        ('1', '内侧几根'),
        ('2', '覆盖内侧面1/2'),
        ('3', '覆盖内侧面，稀'),
        ('4', '覆盖内侧面，密'),
    )
    shangtun = models.CharField(choices=SHANGTUN_CHOICES, max_length=2, blank=True, null=True, verbose_name='上臀', help_text='上臀')

    DATUI_CHOICES = (
        ('0', '无毛'),
        ('1', '内侧几根'),
        ('2', '覆盖内侧面1/2'),
        ('3', '覆盖内侧面，稀'),
        ('4', '覆盖内侧面，密'),
    )
    datui = models.CharField(choices=DATUI_CHOICES, max_length=2, blank=True, null=True, verbose_name='大腿', help_text='大腿')

    SHANGBEI_CHOICES = (
        ('0', '无毛'),
        ('1', '散在几根'),
        ('2', '覆盖上背部1/2'),
        ('3', '覆盖上背，稀'),
        ('4', '覆盖上背，密'),
    )
    shangbei = models.CharField(choices=SHANGBEI_CHOICES, max_length=2, blank=True, null=True, verbose_name='上背', help_text='上背')

    YAO_CHOICES = (
        ('0', '无毛'),
        ('1', '骶部几根'),
        ('2', '覆盖腰骶部1/2'),
        ('3', '覆盖腰骶部3/4'),
        ('4', '覆盖整个腰骶部'),
    )
    yao = models.CharField(choices=YAO_CHOICES, max_length=2, blank=True, null=True, verbose_name='腰骶', help_text='腰骶')

    total_score = models.IntegerField(blank=True, null=True, verbose_name='多毛总分', help_text='多毛总分')

    tuofa = models.BooleanField(blank=True, default=False, verbose_name='女性型脱发Ludwig分型', help_text='女性型脱发Ludwig分型')

    IS_TUOFA_CHOICES = (
        ('I', 'Ⅰ型：头顶部毛发弥漫性稀少，毛发变细，头皮稍暴露。'),
        ('II', 'Ⅱ型；头顶＋前头部毛发稀少，毛发变纤细，头皮裸露稍明显。'),
        ('III', 'Ⅲ型：前头部＋头顶部头发明显稀疏，头发纤细，但发际线仍保留。')
    )
    is_tuofa = models.CharField(choices=IS_TUOFA_CHOICES, max_length=4, blank=True, null=True, verbose_name='女性型脱发Ludwig分型-有', help_text='女性型脱发Ludwig分型-有')

    chuochuang = models.BooleanField(blank=True, default=False, verbose_name='痤疮', help_text='痤疮')

    is_chuochuang_buwei = models.CharField(max_length=50, blank=True, null=True, verbose_name='痤疮具体部位', help_text='痤疮具体部位')

    IHOICES = (
        ('0', '无'),
        ('1', '轻微'),
        ('2', '轻'),
        ('3', '中'),
        ('4', '重'),
        ('5', '囊性'),
    )
    is_chuochuang_score = models.CharField(choices=IHOICES, max_length=2, blank=True, null=True, verbose_name='痤疮评分', help_text='痤疮评分')

    heiji = models.BooleanField(blank=True, default=False, verbose_name='黑棘皮症', help_text='黑棘皮症')

    is_heiji_buwei = models.CharField(max_length=50, blank=True, null=True, verbose_name='黑棘皮症具体部位', help_text='黑棘皮症具体部位')

    YIYU_CHOICES = (
        ('没有或很少时候', '没有或很少时候'),
        ('小部分时候', '小部分时候'),
        ('相当多时候', '相当多时候'),
        ('绝大部分或全部时候', '绝大部分或全部时候'),
    )
    yiyu_bule = models.CharField(choices=YIYU_CHOICES, max_length=20, blank=True, null=True, verbose_name='我觉得闷闷不乐，情绪低沉', help_text='我觉得闷闷不乐，情绪低沉')
    yiyu_zao = models.CharField(choices=YIYU_CHOICES, max_length=20, blank=True, null=True, verbose_name='我觉得一天之中早晨最好', help_text='我觉得一天之中早晨最好')
    yiyu_ku = models.CharField(choices=YIYU_CHOICES, max_length=20, blank=True, null=True, verbose_name='我一阵阵地哭出来或是想哭', help_text='我一阵阵地哭出来或是想哭')
    yiyu_shui = models.CharField(choices=YIYU_CHOICES, max_length=20, blank=True, null=True, verbose_name='我晚上睡眠不好', help_text='我晚上睡眠不好')
    yiyu_chi = models.CharField(choices=YIYU_CHOICES, max_length=20, blank=True, null=True, verbose_name='我吃的和平时一样多', help_text='我吃的和平时一样多')
    yiyu_yixing = models.CharField(choices=YIYU_CHOICES, max_length=20, blank=True, null=True, verbose_name='我与异性接触时和以往一样感到愉快', help_text='我与异性接触时和以往一样感到愉快')
    yiyu_tizhong = models.CharField(choices=YIYU_CHOICES, max_length=20, blank=True, null=True, verbose_name='我发觉我的体重在下降', help_text='我发觉我的体重在下降')
    yiyu_bian = models.CharField(choices=YIYU_CHOICES, max_length=20, blank=True, null=True, verbose_name='我有便秘的苦恼', help_text='我有便秘的苦恼')
    yiyu_xin = models.CharField(choices=YIYU_CHOICES, max_length=20, blank=True, null=True, verbose_name='我心跳比平时快', help_text='我心跳比平时快')
    yiyu_pifa = models.CharField(choices=YIYU_CHOICES, max_length=20, blank=True, null=True, verbose_name='我无缘无故感到疲乏', help_text='我无缘无故感到疲乏')
    yiyu_nao = models.CharField(choices=YIYU_CHOICES, max_length=20, blank=True, null=True, verbose_name='我的头脑和平时一样清楚', help_text='我的头脑和平时一样清楚')
    yiyu_kunnan = models.CharField(choices=YIYU_CHOICES, max_length=20, blank=True, null=True, verbose_name='我觉得经常做的事情并没有困难', help_text='我觉得经常做的事情并没有困难')
    yiyu_buan = models.CharField(choices=YIYU_CHOICES, max_length=20, blank=True, null=True, verbose_name='我觉得不安而平静不下来', help_text='我觉得不安而平静不下来')
    yiyu_xiwang = models.CharField(choices=YIYU_CHOICES, max_length=20, blank=True, null=True, verbose_name='我对将来抱有希望', help_text='我对将来抱有希望')
    yiyu_jidong = models.CharField(choices=YIYU_CHOICES, max_length=20, blank=True, null=True, verbose_name='我比平常容易激动', help_text='我比平常容易激动')
    yiyu_jueding = models.CharField(choices=YIYU_CHOICES, max_length=20, blank=True, null=True, verbose_name='我觉得做出决定是容易的', help_text='我觉得做出决定是容易的')
    yiyu_yong = models.CharField(choices=YIYU_CHOICES, max_length=20, blank=True, null=True, verbose_name='我觉得自己是个有用的人，有人需要我', help_text='我觉得自己是个有用的人，有人需要我')
    yiyu_yisi = models.CharField(choices=YIYU_CHOICES, max_length=20, blank=True, null=True, verbose_name='我的生活过得很有意思', help_text='我的生活过得很有意思')
    yiyu_si = models.CharField(choices=YIYU_CHOICES, max_length=20, blank=True, null=True, verbose_name='我认为如果我死了别人会生活的更好些', help_text='我认为如果我死了别人会生活的更好些')
    yiyu_xing = models.CharField(choices=YIYU_CHOICES, max_length=20, blank=True, null=True, verbose_name='平常感兴趣的事我仍然照样感兴趣', help_text='平常感兴趣的事我仍然照样感兴趣')

    JIAOLV_CHOICES = YIYU_CHOICES

    jiaolv_jin = models.CharField(choices=JIAOLV_CHOICES, max_length=20, blank=True, null=True, verbose_name='我觉得比平常容易紧张和着急', help_text='我觉得比平常容易紧张和着急')
    jiaolv_wu = models.CharField(choices=JIAOLV_CHOICES, max_length=20, blank=True, null=True, verbose_name='我无缘无故地感到害怕', help_text='我无缘无故地感到害怕')
    jiaolv_jing = models.CharField(choices=JIAOLV_CHOICES, max_length=20, blank=True, null=True, verbose_name='我容易心里烦乱或觉得惊慌', help_text='我容易心里烦乱或觉得惊慌')
    jiaolv_feng = models.CharField(choices=JIAOLV_CHOICES, max_length=20, blank=True, null=True, verbose_name='我觉得我可能将要发疯', help_text='我觉得我可能将要发疯')
    jiaolv_hao = models.CharField(choices=JIAOLV_CHOICES, max_length=20, blank=True, null=True, verbose_name='我觉得一切都很好，也不会发生什么不幸', help_text='我觉得一切都很好，也不会发生什么不幸')
    jiaolv_yi = models.CharField(choices=JIAOLV_CHOICES, max_length=20, blank=True, null=True, verbose_name='我与异性接触时和以往一样感到愉快', help_text='我与异性接触时和以往一样感到愉快')
    jiaolv_ku = models.CharField(choices=JIAOLV_CHOICES, max_length=20, blank=True, null=True, verbose_name='我因为头痛、头颈痛和背痛而苦恼', help_text='我因为头痛、头颈痛和背痛而苦恼')
    jiaolv_pi = models.CharField(choices=JIAOLV_CHOICES, max_length=20, blank=True, null=True, verbose_name='我感觉容易衰弱和疲乏', help_text='我感觉容易衰弱和疲乏')
    jiaolv_ping = models.CharField(choices=JIAOLV_CHOICES, max_length=20, blank=True, null=True, verbose_name='我觉得心平气和，并且容易安静地坐着', help_text='我觉得心平气和，并且容易安静地坐着')
    jiaolv_kuai = models.CharField(choices=JIAOLV_CHOICES, max_length=20, blank=True, null=True, verbose_name='我觉得心跳得很快', help_text='我觉得心跳得很快')
    jiaolv_yun = models.CharField(choices=JIAOLV_CHOICES, max_length=20, blank=True, null=True, verbose_name='我因为一阵阵头晕而苦恼', help_text='我因为一阵阵头晕而苦恼')
    jiaolv_fazuo = models.CharField(choices=JIAOLV_CHOICES, max_length=20, blank=True, null=True, verbose_name='我有晕倒发作，或觉得要晕倒似的', help_text='我有晕倒发作，或觉得要晕倒似的')
    jiaolv_huxi = models.CharField(choices=JIAOLV_CHOICES, max_length=20, blank=True, null=True, verbose_name='我呼气吸气都感到很容易', help_text='我呼气吸气都感到很容易')
    jiaolv_ma = models.CharField(choices=JIAOLV_CHOICES, max_length=20, blank=True, null=True, verbose_name='我手脚麻木和刺痛', help_text='我手脚麻木和刺痛')
    jiaolv_wei = models.CharField(choices=JIAOLV_CHOICES, max_length=20, blank=True, null=True, verbose_name='我因为胃痛和消化不良而苦恼', help_text='我因为胃痛和消化不良而苦恼')
    jiaolv_xiao = models.CharField(choices=JIAOLV_CHOICES, max_length=20, blank=True, null=True, verbose_name='我常常要小便', help_text='我常常要小便')
    jiaolv_shou = models.CharField(choices=JIAOLV_CHOICES, max_length=20, blank=True, null=True, verbose_name='我的手常常是干燥温暖的', help_text='我的手常常是干燥温暖的')
    jiaolv_lian = models.CharField(choices=JIAOLV_CHOICES, max_length=20, blank=True, null=True, verbose_name='我脸红发热', help_text='我脸红发热')
    jiaolv_ru = models.CharField(choices=JIAOLV_CHOICES, max_length=20, blank=True, null=True, verbose_name='我容易入睡并且一夜睡得很好', help_text='我容易入睡并且一夜睡得很好')
    jiaolv_e = models.CharField(choices=JIAOLV_CHOICES, max_length=20, blank=True, null=True, verbose_name='我作恶梦', help_text='我作恶梦')

    def __str__(self):
        return '%s-%s' % (self.pk, self.info)

    class Meta:
        verbose_name = '专病情况'
        verbose_name_plural = verbose_name
